// 配置接口根地址
axios.defaults.baseURL = 'http://www.itcbc.com:8000';

// 设置拦截器
// 添加请求拦截器
axios.interceptors.request.use(function (config) {

    // console.log(config)//对象
    // 在发送请求出去之前 给请求的请求头 设置数据
    //   一个项目中 不是每一个接口都需要token  比如登录 注册页面
    // 判断你的本地储存 有没有token 有携带上去 没有就不携带    
    if (localStorage.getItem("token")) {
        config.headers.Authorization = localStorage.getItem("token")
    }


    // 在发送请求之前做些什么
    // 显示进度条
    NProgress.start()
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。

    // 对响应数据做点什么
    // 判断一下响应的业务状态码  --出错的时候，不是2XX的时候
    // 先判断code是否存在  再去判断他的值是否等于0
    if (response.data.code && response.data.code !== 0) {
        // 提示业务状态码错误

        toastr.error(response.data.message)
    }
    // 关闭进度条
    NProgress.done()
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    // console.log("响应的是拦截器里面的第二个函数");
    // console.dir(error.response.data.message);
    toastr.error(error.response.data.message)

    // 再来判断一下HTTP业务状态码是不是401 未登录就跳转获取登录页面
    if (error.response.status === 401) {
        location.href = "./login.html"
        // window.top.location.href="./login.html"
    }

    // 关闭进度条
    NProgress.done()
    return Promise.reject(error);
});


// 设置友情提示
// 配置 toastr  友情提示
toastr.options = {
    closeButton: true, // 显示 关闭按钮
    // debug: false,
    positionClass: 'toast-top-center', // 提示框显示的位置
    // onclick: null,
    // showDuration: '300',
    // hideDuration: '1000',
    // timeOut: '5000',
    extendedTimeOut: '1000',
    // showEasing: 'swing',
    // hideEasing: 'linear',
    // showMethod: 'fadeIn',
    // hideMethod: 'fadeOut',
};